| Initiate an FTP upload
|  StrongED developers

| Unset all FTP vars except SiteScript
Unset StrongED$FTP_*

| Ensure that an FTP environment has been set up
IfThere <FTPupload$Dir>.SiteScript Then Else <FTPupload$Dir>.Tools.FTPerror 1 

| Ensure localpath and localname point to file to upload
Set StrongED$FTP_LocalName "<StrongED$Tmp_FileLeaf>"
Set StrongED$FTP_LocalPath "<StrongED$Tmp_FilePath>"

| Run the SiteScript to set remote site variables
Obey <FTPupload$Dir>.SiteScript

| Ensure that the remote paths are proper unix names
Run <FTPupload$Dir>.Tools.Unixify

| Ensure the desired FTP provider is actually present
Set StrongED$FTP_Error "Yes"
If "<StrongED$FTP_Provider>" = "curl" Then IfThere Run:curl Then Set StrongED$FTP_Error "No" 
If "<StrongED$FTP_Provider>" = "ftpc" Then If "<FTPc$Dir>" <> "" Then Set StrongED$FTP_Error "No"
IF "<StrongED$FTP_Error>" = "Yes" Then <FTPupload$Dir>.Tools.FTPerror 2

| Call the desired FTP provider to do the actual upload
If "<StrongED$FTP_Provider>" = "curl" Then <FTPupload$Dir>.Tools.cURL
If "<StrongED$FTP_Provider>" = "ftpc" Then <FTPupload$Dir>.Tools.FTPc

| Unset all FTP vars except SiteScript
Unset StrongED$FTP_*
